If, during operation of an internal combustion engine, misfire occurs, or more specifically, combustion fails to be effected normally in cylinders, due to fault of a fuel injection system or the like, emission characteristics etc. of the engine become degraded. Thus, as disclosed in Unexamined Japanese Patent Publication (KOKAI) No. 2-30954, misfire of the engine is detected based on the quantity of or the rate of change of the information, which information represents the rotational speed of the engine and which is calculated based on the period corresponding to a predetermined crank angle associated with each cylinder of the engine. In Unexamined Japanese Patent Publication (KOKAI) No. 2-49955, it is stated that, if a misfire is detected based on a variation in rotation of the internal combustion engine, i.e., a deviation of a rotary angular velocity of the engine, which is calculated at each ignition interval in a manner timed with the combustion stroke of the engine, from a rotary angular velocity calculated at the time of an immediately preceding ignition, which is used as a reference angular velocity (criterion value), an accidental misfire or a misfire occurring at a rate of 1/several rotations may fall to be detected with accuracy. To eliminate the drawback, Unexamined Japanese Patent Publication No. 2-49955 proposes updating the reference angular velocity, i.e., the criterion value, as needed.
However, when the internal combustion engine is operating in a condition in which the load on the engine can suddenly change, e.g., in a decelerating condition, or immediately after the ignition key is turned off, the angular acceleration (the rate of change in the rotational speed) of the crankshaft takes a negative value. Consequently, the angular velocity of the crankshaft may become lower than the criterion value for the misfire detection, which leads to an erroneous detection that a misfire has occurred, though in actuality no misfire is occurring. Also when the vehicle is running on a rough road, an erroneous misfire detection is likely to be made due to variation in the rotation of the output shaft of the internal combustion engine.